package com.sirui.jpa.service;

import com.sirui.jpa.model.JpaStudent;
import com.sirui.jpa.model.Student;
import org.springframework.data.jpa.domain.Specification;

import java.util.List;
import java.util.Map;
import java.util.Optional;

public interface IStudentService {
    /**
     * 返回List<Object[]>
     *
     * @return List<Object [ ]>
     * @Author
     * @Date 2018年3月28日 更新日志
     * 2018年3月28日   首次创建
     */
	 List<Object[]> listStudent();

    /**
     * 返回List<Student>
     * @Author
     * @return List<Student>
     * @Date 2018年3月28日
     * 更新日志
     * 2018年3月28日   首次创建
     *
	  */
     List<Student> listStudentModel();

    /**
     * List<Map<Object, Object>>
     * @Author
     * @return List<Map < Object, Object>>
     * @Date 2018年3月28日
     * 更新日志
     * 2018年3月28日   首次创建
     *
     */
     List<Map<Object, Object>> listStudentMap();

    /**
     * 批量插入
     *
     * @Author
     * @Date 2018年4月16日 更新日志
     * 2018年4月16日   首次创建
     */
    void batchSave();

    void batchSave(List<JpaStudent> list);

    /**
     * 并行任务
     *
     * @Author
     * @Date 2018年4月16日 更新日志
     * 2018年4月16日   首次创建
     */
    void statsDemo() throws Exception;

    List<JpaStudent> listStudent(int pageNum, int pageSize);

    Optional<JpaStudent> findOne(Specification<JpaStudent> specification);
}
